A batch job refers to one or more programs executed on a processor, such as a computer. Typically, the processor executes the programs, and each program performs a job, such as a task, with little, or no, intervention by a user. For example, a batch job may read transactions performed during the day, post those transactions to corresponding accounts, and then archive the posted changes to storage. Although the previous example is relatively simple, some batch jobs may include dozens of jobs, some of which execute in parallel and some of which execute serially. Moreover, a job, such as a program in the batch job, may provide an input and trigger the execution of another program. Because of such dependencies and complexities, it is difficult to gauge the progress of batch jobs.